home *** CD-ROM | disk | FTP | other *** search
- 10 DEFSTR A-B:DEFINT C-Z:COMMON SHARED /DNDBBS.PGM/ T2!,UX,LM,CX!,LR,RM,A,WR,CR,AL,FG,IN,TF,YE,AI,NX,CA,SW,PA1$,PA2$,E1$,Z8$,X1
- 20 SUB IO.O STATIC
- 21 ON ERROR GOTO 10000
- 30 IF CR<>1 THEN AI=A:WHILE RIGHT$(AI,1)=" ":AI=LEFT$(AI,LEN(AI)-1):WEND:A=AI
- 40 TF=0:FOR LA=1 TO LEN(A):Y$=INKEY$:IF LM THEN IF Y$="" THEN 160 ELSE 120
- 41 IF Y$=CHR$(27) THEN IF CA THEN SW=NOT SW:Y$="":EXIT SUB ELSE X1=11
- 50 IF LEN(Y$)=2 THEN LP=ASC(RIGHT$(Y$,1)):Y$="":IF LP>58 AND LP<69 THEN X1=LP-58
- 70 IF(INP(1021)AND 1)=0 THEN 160
- 80 Y$=CHR$(INP(1016)):IF Y$<>CHR$(19)THEN 120
- 90 WHILE(INP(1021)AND 1)=0
- 100 IF(INP(1021)AND 32)=0 THEN 100
- 110 WEND:Y$=CHR$(INP(1016)):GOTO 160
- 120 IF Y$=CHR$(32)AND IN THEN TF=1:GOTO 180
- 130 IF Y$=CHR$(8)OR Y$=CHR$(27)THEN 150
- 140 IF(Y$<" "OR ASC(Y$)>127)AND Y$<>CHR$(13)THEN 160
- 150 Z8$=Z8$+Y$
- 160 LOCATE,,1:C$=MID$(A,LA,1):PRINT C$;:GOSUB 270
- 170 NEXT
- 180 IF CR<>1 THEN PRINT:C$=CHR$(13):GOSUB 270:IF LR=0 THEN C$=CHR$(10):GOSUB 270
- 190 IF CR=2 THEN CR=0:GOTO 170
- 200 CR=0:A="":Y$=""
- 210 IF TIMER=>T2!THEN T3!=TIMER-T2! ELSE T3!=TIMER+86400!-T2!
- 220 IF T3!>CX!THEN 230 ELSE EXIT SUB
- 230 A="Time limit exceeded!":FOR LA=1 TO LEN(A):C$=MID$(A,LA,1):GOSUB 270:NEXT
- 240 A="You were on for":T5!=INT(T3!/60!):T4!=T3!-T5!*60!:IF T5!=0 THEN A=A+STR$(INT(T4!))+" sec.":GOTO 260
- 250 IF T5!>60! THEN A=A+" more than an hour." ELSE A=A+STR$(T5!)+" min.":IF T4! THEN A=A+" and"+STR$(INT(T4!))+" sec." ELSE A=A+"."
- 260 FOR LA=1 TO LEN(A):C$=MID$(A,LA,1):GOSUB 270:NEXT:OUT 1020,0:CHAIN"DNDBBS"
- 270 IF LM THEN RETURN
- 280 IF(INP(1021)AND 32)=0 THEN 280
- 290 IF INP(1022)<128 THEN CHAIN"DNDBBS"
- 300 OUT 1016,ASC(C$)
- 310 RETURN
- 320 END SUB
- 10000 PRINT "Error"ERR"in module IO-O number"ERR
- 10001 RESUME NEXT
-